I've now converted *all* functions listed above to ones that set the
close-on-exec flag. (When building with the OsPath flag.)
-All that remains is the openTempFile race and checking the libraries in
-comment #8.
+And checked all the libraries in comment #8.
+
+All that remains is the openTempFile race.
"""]]
Most dependencies of git-annex clearly don't open files there, and most open no
files at all. Ones I need to check:
-* persistent-sqlite
-* feed (parseFeedFromFile uses openBinaryFile, updated git-annex to open
+* persistent-sqlite (looks ok; no direct uses of problem haskell
+ functions. And in sqlite itself, `robust_open` sets the close-on-exec
+ flag)
+* feed (update: parseFeedFromFile uses openBinaryFile, updated git-annex to open
the file itself instead)
-* concurrent-output (addOutputBuffer uses openTempFile; emitOutputBuffer uses T.readFile)
+* concurrent-output (addOutputBuffer uses openTempFile; emitOutputBuffer
+ uses T.readFile. Probably neither actually triggers as git-annex uses the
+ library though. I have noted it in the todo for that library though.)
* magic (update: checked it, it sets close-on-exec)
+
+At this point, I'm reasonably satisfied about libraries not causing
+the problem.
"""]]